// $Id: loggercount.h 24 2004-09-17 08:51:54Z hansemil $
#ifndef LOGGERCOUNT_H
#define LOGGERCOUNT_H

#include "logger.h"
#include "eos.h"
#include <fstream>
#include <vector>

/**
 * LoggerCount is the abstract base class of all classes that does list counting related loggings. Basicly it proviedes the writeCountStats method for writing a statistical analys of a list to file.
 */
class LoggerCount : public Logger {
public:
	virtual ~LoggerCount() {}

	virtual void eos_simulate_start(void *) = 0;
	virtual void eos_simulate_stop(void *) = 0;

protected:
	void writeCountStats(std::fstream &, std::vector<int> &, int);
};

#endif
